package 面试经典150题.哈希表;

import java.util.*;

/**
 * @author tmh
 * @date 2024/6/9 21:38
 * @description
 */
public class T49字母异构词分组 {
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> map = new HashMap<>();

        for (String str : strs) {
            char[] charArray = str.toCharArray();
            //把字符串里面的字母进行一个排序
            Arrays.sort(charArray);
            String result = new String(charArray);
            //然后在根据result找对应的list，没有的返回一个默认的空集合
            List<String> list = map.getOrDefault(result, new ArrayList<>());
            //在把str添加进去
            list.add(str);
            map.put(result, list);
        }
        return new ArrayList<>(map.values());
    }
}
